The invention relates to a system and associated method for receiving data telegrams in communication systems having redundant network paths.
Data networks are formed by networked data network nodes and enable communication among a plurality of subscribers. Therein, the term “communication” refers to transmitting data among the subscribers. The data to be transmitted are sent as data telegrams, i.e., the data are bundled into one or more packets and are then, in this form, sent to the respective recipient via the data network. Therefore, these packets are also referred to as data packets. Hereinafter, the terms “transmission of data” or “data transmission” are used synonymously with the aforementioned transmission of data telegrams or data packets.
For networking purposes, e.g., in switchable high-performance data networks such as, in particular, an Ethernet, the subscribers are connected to one another via coupling nodes. Each coupling node is connected with, e.g., more than two subscribers. Alternatively, each coupling node itself is a subscriber. Subscribers are, for example, computers, stored program controllers (SPCs) or other machines that exchange and, in particular, process electronic data with other machines.
In distributed automation systems, e.g., in the field of drive technology, certain data must arrive at certain subscribers at certain times and be processed by the recipients. Therein, the data are referred to as real-time critical data or real-time critical data traffic because a delayed arrival of the data at the destination leads to undesirable results at the subscriber.
It is also known in the prior art to use a synchronous, clocked communication system in an automation system, wherein the communication system has equidistance properties (isochronous communication system). This system is defined as a system that has at least two subscribers, which are connected to one another via a data network so as to mutually exchange or transmit data. Therein, the data exchange occurs cyclically in equidistant communication cycles (isochronous cycles), which are predetermined by the communication clock of the system. Subscribers are, for example, central automation devices, e.g., stored program controllers (SPCs, motion controls) or other control units, computers or machines that exchange electronic data with other machines and, in particular, process data of other machines. Further examples of subscribers include peripheral devices, such as, e.g., input/output modules, drives, actuators or sensors. The term “control units”, as used hereinafter, refers to closed-loop or open-loop control units of any kind. For data transmission purposes, communication systems are used that include, for example, field bus, Profibus, Ethernet, Industrial Ethernet, FireWire or PC-internal bus systems (PCIs), etc.
Real-time communication is planned communication. Therein, at a fixed, predefined transmission instant, a subscriber forwards data telegrams over predefined ports. In addition, a receiving node expects real-time data packets at a specific time at a specific port. Therefore, due to the planning of the isochronous real-time communication, the path that the real-time telegram takes within the network is precisely defined. During one communication cycle, the complete peripheral representation in a node is exchanged. This peripheral representation includes all real-time critical data that a subscriber sends, receives and stores in a specific address space of a memory. During one cycle, the entire address space is overwritten.
Today, automation components (e.g., controls, drives, etc.) often have an interface to a cyclically clocked communication system. One operation level of the automation component (fast cycle) (e.g., position control in a control unit or speed and torque control of a drive) is synchronized to the communication cycle. Thereby, the communication clock is determined. In addition, other, low-performance algorithms (slow cycle) (e.g., temperature controls) of the automation component can communicate with other components (e.g., binary switches for fans, pumps, etc.) only via this communication clock, although a slower cycle would be sufficient. Using only one communication clock for transmitting all information within the system places high demands on the bandwidth of the transmission path.
In real-time communication in an isochronous Real-Time-Fast-Ethernet (IRTE), the isochronous cycle has an IRT time domain (IRT-Z) and an NRT time domain (NRT-Z, non-real-time). In the IRT time domain, the cyclic exchange of real-time data takes place, while, in the NRT time domain, communication takes place via a standard Ethernet communication. The NRT time domain is particularly suitable for transmitting data of lower-performance algorithms. As a result, these data need not be transmitted during each isochronous cycle. Thus, data traffic is reduced. German patent DE 100 58 524 discloses such a data network.
However, in standard Ethernet communication, data networks may have redundant network paths and/or closed rings. These must be broken up at one point, e.g., by means of the Spanning-Tree-Algorithm, since, otherwise, circulating data telegrams can occur. Therein, the topology is retained; however, a send port and a receive port of two neighboring nodes are turned off so as to eliminate a redundant network path.
FIG. 1 shows three successive isochronous cycles in an Isochronous Real-Time fast Ethernet (IRTE) in the case of real-time communication. German patent DE 100 58 524A discloses a corresponding communication system. The isochronous cycles with the cycle numbers 0, 1 and 2 have the same length. In each isochronous cycle, an IRT time domain is followed by an NRT time domain. The length of the NRT time domain is defined by the length of the entire isochronous cycle minus the IRT time domain.
Transmission errors that occur during the forwarding of data telegrams can lead to invalid or non-received data telegrams. In this case, the data telegrams are not available to complete the peripheral image. The peripheral image in a node is then inconsistent and unusable.